The present invention generally relates to a method of utilizing communication channel resources between the nodes of a network and, more particularly, to a method of establishing a soft circuit between a source node and a destination node in a network of nodes to allow data to be transmitted therebetween.
FIG. 1 is a diagram that illustrates an example of a network of nodes. Each node includes a simplex transceiver that is provided with an omnidirectional antenna. In this network, a transmission from one node is broadcast to all nodes in its xe2x80x9cneighborhood.xe2x80x9d For example, at UHF frequencies, the neighborhood nodes are typically those nodes within line-of-sight or one hop of the transmitter node. In the example shown in FIG. 1, when node 1 transmits data, nodes 3-8 receive the data. In order for data to be transmitted over multiple hops, the data must be relayed by one or more of its neighbor nodes to a destination node. For example, nodes 8 and 4 must relay data through node 1 so that it may be transmitted to node c or node 9, respectively. In this way, the data is relayed until it has arrived at all intended destination nodes.
In the network shown in FIG. 1, each node cannot transmit and receive data at the same time. Similarly, a node cannot receive data from more than one other node at a particular point in time. For example, if two nodes which are both within transmission range of an intended receiver were to transmit at the same time, then the intended receiver would not be able to successfully receive any data packet from either source.
Since there generally are limitations on the number of simultaneous transmitters that a receiver can successfully process, typically one, data collisions can be avoided by assigning time slots in which individual nodes can transmit. There are many approaches to deciding which nodes are assigned which slots, and the approach is generally driven by the network application. Examples of these types of applications include, for example, broadcast, multicast, unicast, datagrams, and virtual circuits. Typically, a heuristic approach is taken to design an integrated protocol that both chooses the number of slots to assign to each neighboring node and coordinates their activation in the network because, for example, the problem of optimally assigning slots in this environment is mathematically intractable.
U.S. Pat. No. 5,719,868 discloses a single, generalized protocol for reliably choosing the slots and coordinating their activation with minimal overhead which can then be used to support many different higher layer heuristics for selecting the number of slots to be activated with which neighbors. In particular, the ""868 patent discloses a method for automatically managing the communication channel resources between two nodes having neighboring nodes in a network of transceiver nodes as, for example, shown in FIG. 1. It should be noted that slight variations of the data structures and rules disclosed in the ""868 patent which are set forth in greater detail hereafter allow full duplex radios and/or radios with multiple transmitters and receivers to be adequately handled.
Referring back to FIG. 1, each node communicates during specific time slots and uses multiple frequencies on a time division multiple access basis. The communication resources of this network can be managed by a method which includes the steps of storing a table of possible communication frequencies and time slots between the nodes in the network. This method also includes the steps of announcing and transmitting during a specific time slot on a selected transmit frequency and slot from a first node to a second node and all neighboring nodes of the first node. The announced frequency and slot have certain constraints on reuse within two hops of the transmitting node to thereby establish contention free communication on the frequency and slot between the first and second nodes.
Various types of data can be transmitted over the network shown in FIG. 1 such as, for example, video and voice data. In order to guarantee a sufficient throughput and latency which is necessary to support the transmission of video and voice traffic, slots on each link along the route from the source node to the destination node must be preallocated. One way to accomplish this is to use a so-called virtual circuit, which requires a call setup, allocation of dedicated slots along the route, and a teardown phase to release the slots when the circuit is no longer needed. In a virtual circuit, the route from source to destination is predetermined, but there is still potentially contention for the channel resources from other traffic using the same links. This leads, for example, to queuing delays that can impact both throughput and delay which degrades the quality of resultant output signals.
Video and voice signals have a number of characteristics in common. First, video and voice signals both are tolerant of small amounts of dropped data and data that arrives at a destination out of order. This is in direct contrast to, for example, a file transfer application where such occurrences would be unacceptable. The CVSD data stream for voice signals and the ATM data stream for video signals both contain embedded synching information. Thus, a short perturbation in either data stream would result in a small glitch which, if infrequent enough, should not be of much consequence to a user. A second characteristic of video and voice applications is that once the stream of traffic starts, they continuously supply data at the same rate until the user terminates the call, even when, for example, the user is not speaking.
A virtual circuit may be used to transmit video and voice data from a source node to a destination node. However, such an approach is wasteful of communication channel resources in that a call setup, allocation of slots along the route, and a teardown phase is required as discussed above. A need has thus arisen for an improved heuristic that takes advantage of certain characteristics of the video and voice data streams such as, for example, the synching information embedded therein to allow the network""s communication channel resources to be more effectively and efficiently used.
In accordance with one aspect of the present invention, a method is provided for utilizing the communication channel resources between source and destination nodes in a network of transceiver nodes, wherein each node communicates during specific time; slots and uses multiple frequencies on a time division multiple access basis. The method includes the step of each node utilizing a soft circuit protocol so that enough slots are assigned on each node""s outgoing communication links to satisfy the requirements of the traffic passing through the node.
In a first embodiment of the invention, a soft circuit is established by sending a route trace packet, which contains the capacity requirement for a particular traffic stream, from the source node to the destination node. According to a second embodiment of the invention, a soft circuit is established by using a push path wherein the traffic pushes its way through the network to establish the soft circuit along the way from a source node to a destination node.
Utilizing a soft circuit protocol for the transmission of data streams such as, for example, video and voice traffic has a number of advantages. For example, the communication channel resources of a network are more effectively and efficiently used for the transmission of these data streams by utilizing the capabilities of a uniform slot assignment protocol and by taking advantage of certain characteristics of the data streams such as, for example, the ability to quickly resynchronize after a data glitch and the continuous nature of the data stream.